package com.example.xm.service.impl;

import java.util.Arrays;
import java.util.List;

import com.example.xm.entity.Timu;
import com.example.xm.entity.Udaan;
import com.example.xm.entity.User;
import com.example.xm.mapper.TimuMapper;
import com.example.xm.mapper.UdaanMapper;
import com.example.xm.mapper.UserMapper;
import com.example.xm.service.IUdaanService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

/**
 * 【请填写功能名称】Service业务层处理
 * 
 * @author ruoyi
 * @date 2025-02-14
 */
@Service
public class UdaanServiceImpl implements IUdaanService
{
    @Autowired
    private UdaanMapper udaanMapper;

    /**
     * 查询【请填写功能名称】
     * 
     * @param id 【请填写功能名称】主键
     * @return 【请填写功能名称】
     */
    @Override
    public Udaan selectUdaanById(Long id)
    {
        return udaanMapper.selectUdaanById(id);
    }

    /**
     * 查询【请填写功能名称】列表
     * 
     * @param udaan 【请填写功能名称】
     * @return 【请填写功能名称】
     */
    @Override
    public List<Udaan> selectUdaanList(Udaan udaan)
    {
        return udaanMapper.selectUdaanList(udaan);
    }

    /**
     * 新增【请填写功能名称】
     * 
     * @param udaan 【请填写功能名称】
     * @return 结果
     */
    @Autowired
    private TimuMapper timuMapper;
    @Autowired
    private UserMapper userMapper;
    @Override
    public int insertUdaan(List<Udaan> udaan)
    {
        int jifen=0;
        for (Udaan udaan1 : udaan) {
            udaan1.setTid(udaan1.getId());
            String[] split = udaan1.getDaan().split(",");
            String[] split1 = udaan1.getUdaan().split(",");
            Arrays.sort(split);
            Arrays.sort(split1);
            if(Arrays.equals(split1,split)){
                Timu timu = timuMapper.selectTimuById(udaan1.getId());
                jifen+=timu.getJifen();
                udaan1.setStatus(1);
            }else{
                udaan1.setStatus(2);
            }
            udaanMapper.insertUdaan(udaan1);
        }
        //修改用户积分
        User user = new User();
        user.setJifen(jifen);
        user.setId(udaan.get(0).getUid().intValue());
        userMapper.updateByPrimaryKeySelective(user);
        return 1;
    }

    /**
     * 修改【请填写功能名称】
     * 
     * @param udaan 【请填写功能名称】
     * @return 结果
     */
    @Override
    public int updateUdaan(Udaan udaan)
    {
        return udaanMapper.updateUdaan(udaan);
    }

    /**
     * 批量删除【请填写功能名称】
     * 
     * @param ids 需要删除的【请填写功能名称】主键
     * @return 结果
     */
    @Override
    public int deleteUdaanByIds(Long[] ids)
    {
        return udaanMapper.deleteUdaanByIds(ids);
    }

    /**
     * 删除【请填写功能名称】信息
     * 
     * @param id 【请填写功能名称】主键
     * @return 结果
     */
    @Override
    public int deleteUdaanById(Long id)
    {
        return udaanMapper.deleteUdaanById(id);
    }
}
